package com.kgc.scd.service;

import com.kgc.scd.bean.Cart;
import com.kgc.scd.bean.CartItem;
import com.kgc.scd.bean.Product;
import com.kgc.scd.util.PageSupport;

import java.util.List;

/**
 * Created On : 2022/6/10.
 * <p>
 * Author     : 98730
 * <p>
 * Description: 购物车业务接口
 */
public interface BlCartService {

    /**
     * @author : 98730
     * @date   : 2022/6/10
     * @param  : [java.lang.String]
     * @return : boolean
     * @description : 添加购物车
     */
    boolean addCartByProId(Cart cart);

    /**
     * @author : 98730
     * @date   : 2022/6/10
     * @param  : [java.lang.Integer]
     * @return : boolean
     * @description : 删除购物车
     */
    boolean delCartById(List<Integer> cartId,String userId);

    /**
     * @author : 98730
     * @date   : 2022/6/10
     * @param  : []
     * @return : java.util.List<com.kgc.scd.bean.CartItem>
     * @description : 查询购物车列表-带分页
     */
    PageSupport<CartItem> queryCartListByPage(Integer pageNo, Integer pageSize, String userId);

    /**
     * @author : 98730
     * @date   : 2022/6/13
     * @param  : [java.lang.String]
     * @return : java.util.List<com.kgc.scd.bean.CartItem>
     * @description : 查询购物车订单项
     */
    Product queryProStock(String proId);

    /**
     * @author : 98730
     * @date   : 2022/6/10
     * @param  : []
     * @return : java.util.List<com.kgc.scd.bean.CartItem>
     * @description : 查询购物车列表
     */
    List<Cart> queryCartList(String userId);

    /**
     * @author : 98730
     * @date   : 2022/6/11
     * @param  : [com.kgc.scd.bean.Cart]
     * @return : boolean
     * @description : 更新购物车列表
     */
    boolean updateCartList(Cart cart);

    /**
     * @author : 98730
     * @date   : 2022/6/13
     * @param  : [java.lang.String]
     * @return : java.util.List<com.kgc.scd.bean.Cart>
     * @description : 根据用户编号，查询用户购物车信息
     */
    Cart queryCartListByUserId(String proId,String userId);
}
